package com.example.lotterysystem.service;

import com.example.lotterysystem.controller.param.DrawPrizeParam;
import com.example.lotterysystem.controller.param.ShowWinningRecordsParam;
import com.example.lotterysystem.dao.dataobject.WinningRecordDO;
import com.example.lotterysystem.service.dto.WinningRecordDTO;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description: 抽奖接口Service层
 * User: Spider-Man
 * Date: 2025-09-14
 * Time: 14:39
 */
public interface DrawPrizeService {
    //异步抽奖接口
    void drawPrize(DrawPrizeParam param);

    //校验抽奖请求
    Boolean checkDrawPrizeParam(DrawPrizeParam param);

    //保存中奖者名单
    List<WinningRecordDO> saveWinnerRecords(DrawPrizeParam param);

    //删除活动或者奖品下的中奖记录
    void deleteRecords(Long avtivityId, Long prizeId);

    /**
     * 获取中奖记录
     */
    List<WinningRecordDTO> getRecords(ShowWinningRecordsParam param);
}
